package com.cloudpan.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cloudpan.entity.bo.SysFileCopyOrMv;
import com.cloudpan.entity.bo.SysFileInfoBo;
import com.cloudpan.entity.param.FileClassifyParam;
import com.cloudpan.entity.param.TreeParam;
import com.cloudpan.entity.pojo.SysFileInfo;
import com.cloudpan.entity.vo.SysFileInfoVo;
import com.cloudpan.entity.vo.SysFileTreeVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 * 文件信息 服务类
 * </p>
 *
 * @author Code Generator
 * @since 2023-11-07
 */
public interface SysFileInfoService extends IService<SysFileInfo> {


    Boolean create(SysFileInfoBo infoBo);

    Boolean recycle(String userId,String fileId, Boolean isDelete);

    Boolean rename(SysFileInfoBo infoBo);

    String delete(String userid, String fid,Boolean isForce);

    String renamefile(SysFileInfoBo infoBo);

    List<SysFileTreeVo> listByTree(TreeParam param);

    Page<SysFileInfoVo> listClassifyPage(FileClassifyParam param);

    Boolean mvFile(SysFileCopyOrMv copyInfo);

    Boolean copyFile(SysFileCopyOrMv copyInfo);

    Boolean mvdir(SysFileCopyOrMv copyInfo);

    Boolean copydir(SysFileCopyOrMv copyInfo);
}
